using System;
using System.Collections.Generic;
using System.Text;

namespace RapidHDL
{
    public class HWScriptCommand
    {
        protected int iClockTime;
        protected int iPriority;
        protected RapidHardware oRapidHardware;

        public HWScriptCommand(RapidHardware poRapidHardware, int piClockTime, int piPriority)
        {
            oRapidHardware = poRapidHardware;
            iClockTime = piClockTime;
            iPriority = piPriority;
        }

        public double ScheduleTime
        {
            get
            {
                return (double)iClockTime + (double)iPriority / 100.0; 
            }
        }

        public virtual string DoCommand()
        {
            return "";
        }

        public int ClockTime
        {
            get
            {
                return iClockTime;
            }
        }

        public int Priority
        {
            get
            {
                return iPriority;
            }
        }

        public virtual string ToVerilog()
        {
            return "";
        }

        public virtual string SignalNameHDL()
        {
            return "";
        }

        public virtual string SignalValue()
        {
            return "";
        }
    }

}
